Add a get_size implementation so that we are no longer the same height as
authorJonathan Blandford <jrb@gnome.org>
Tue, 24 Feb 2004 01:01:05 +0000 (01:01 +0000)
committerJonathan Blandford <jrb@src.gnome.org>
Tue, 24 Feb 2004 01:01:05 +0000 (01:01 +0000)
Mon Feb 23 19:57:45 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkcellrendererseptext.c (gtk_cell_renderer_sep_get_size):
        Add a get_size implementation so that we are no longer the same
        height as text.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkcellrendererseptext.c

index 1ed5bf681e3f979181f706ccec2edd48e341c3fa..d46719066a5d4406bbbcc30c10fcb9d042780e2d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Mon Feb 23 19:57:45 2004  Jonathan Blandford  <jrb@gnome.org>
+
+       * gtk/gtkcellrendererseptext.c (gtk_cell_renderer_sep_get_size):
+       Add a get_size implementation so that we are no longer the same
+       height as text.
+
 2004-02-24  Anders Carlsson  <andersca@gnome.org>
 
        * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
index 1ed5bf681e3f979181f706ccec2edd48e341c3fa..d46719066a5d4406bbbcc30c10fcb9d042780e2d 100644 (file)
@@ -1,3 +1,9 @@
+Mon Feb 23 19:57:45 2004  Jonathan Blandford  <jrb@gnome.org>
+
+       * gtk/gtkcellrendererseptext.c (gtk_cell_renderer_sep_get_size):
+       Add a get_size implementation so that we are no longer the same
+       height as text.
+
 2004-02-24  Anders Carlsson  <andersca@gnome.org>
 
        * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
index 1ed5bf681e3f979181f706ccec2edd48e341c3fa..d46719066a5d4406bbbcc30c10fcb9d042780e2d 100644 (file)
@@ -1,3 +1,9 @@
+Mon Feb 23 19:57:45 2004  Jonathan Blandford  <jrb@gnome.org>
+
+       * gtk/gtkcellrendererseptext.c (gtk_cell_renderer_sep_get_size):
+       Add a get_size implementation so that we are no longer the same
+       height as text.
+
 2004-02-24  Anders Carlsson  <andersca@gnome.org>
 
        * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
index 1ed5bf681e3f979181f706ccec2edd48e341c3fa..d46719066a5d4406bbbcc30c10fcb9d042780e2d 100644 (file)
@@ -1,3 +1,9 @@
+Mon Feb 23 19:57:45 2004  Jonathan Blandford  <jrb@gnome.org>
+
+       * gtk/gtkcellrendererseptext.c (gtk_cell_renderer_sep_get_size):
+       Add a get_size implementation so that we are no longer the same
+       height as text.
+
 2004-02-24  Anders Carlsson  <andersca@gnome.org>
 
        * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
index 1ed5bf681e3f979181f706ccec2edd48e341c3fa..d46719066a5d4406bbbcc30c10fcb9d042780e2d 100644 (file)
@@ -1,3 +1,9 @@
+Mon Feb 23 19:57:45 2004  Jonathan Blandford  <jrb@gnome.org>
+
+       * gtk/gtkcellrendererseptext.c (gtk_cell_renderer_sep_get_size):
+       Add a get_size implementation so that we are no longer the same
+       height as text.
+
 2004-02-24  Anders Carlsson  <andersca@gnome.org>
 
        * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
index d9ec1a84868d11dec4f70bdd2d0fd32d235b97f1..feab08516b1d6339874be7c4ca84c648b75cbe90 100644 (file)
 
 #include "gtkcellrendererseptext.h"
 
+static void gtk_cell_renderer_sep_get_size (GtkCellRenderer *cell,
+                                            GtkWidget       *widget,
+                                            GdkRectangle    *cell_area,
+                                            gint            *x_offset,
+                                            gint            *y_offset,
+                                            gint            *width,
+                                            gint            *height);
+
 static void gtk_cell_renderer_sep_text_render (GtkCellRenderer      *cell,
                                               GdkWindow            *window,
                                               GtkWidget            *widget,
@@ -41,6 +49,7 @@ gtk_cell_renderer_sep_text_class_init (GtkCellRendererSepTextClass *class)
 
   parent_class = g_type_class_peek_parent (class);
 
+  cell_renderer_class->get_size = gtk_cell_renderer_sep_get_size;
   cell_renderer_class->render = gtk_cell_renderer_sep_text_render;
 }
 
@@ -72,6 +81,43 @@ _gtk_cell_renderer_sep_text_get_type (void)
   return cell_type;
 }
 
+static void
+gtk_cell_renderer_sep_get_size (GtkCellRenderer *cell,
+                               GtkWidget       *widget,
+                               GdkRectangle    *cell_area,
+                               gint            *x_offset,
+                               gint            *y_offset,
+                               gint            *width,
+                               gint            *height)
+{
+  GtkCellRendererSepText *st;
+  const char *text;
+
+  st = GTK_CELL_RENDERER_SEP_TEXT (cell);
+
+  text = st->renderer_text.text;
+
+  if (!text)
+    {
+      if (width)
+       *width = cell->xpad * 2 + 1;
+      
+      if (height)
+       *height = cell->ypad * 2 + 1;
+
+      if (x_offset) *x_offset = 0;
+      if (y_offset) *y_offset = 0;
+      if (cell_area)
+       {
+         
+       }
+    }
+  else
+    {
+      GTK_CELL_RENDERER_CLASS (parent_class)->get_size (cell, widget, cell_area, x_offset, y_offset, width, height);
+    }
+}
+
 static void
 gtk_cell_renderer_sep_text_render (GtkCellRenderer      *cell,
                                   GdkWindow            *window,